package com.hsurosy.hsuchain.nft.base.utils;

import com.google.common.base.CaseFormat;

/**
 * Bean 名称工具类
 *
 * @Author Hsu琛君珩
 * @Date 2024-10-04 18:50
 * @Description
 * @Version: v1.0.0
 */
public class BeanNameUtils {

    /**
     * 将策略名称转换为驼峰命名的 Bean 名称
     * <pre>
     * 例如：将 WEN_CHANG 和 ChainService 转换为 wenChangChainService
     * </pre>
     *
     * @param strategyName 策略名称（如 WEN_CHANG）
     * @param serviceName 服务名称（如 ChainService）
     * @return 转换后的 Bean 名称
     */
    public static String getBeanName(String strategyName, String serviceName) {
        // 将策略名称从大写下划线格式转换为小写驼峰格式，并拼接服务名称
        return CaseFormat.UPPER_UNDERSCORE.converterTo(CaseFormat.LOWER_CAMEL).convert(strategyName) + serviceName;
    }
}
